home *** CD-ROM | disk | FTP | other *** search
/ USA Bestseller / USA BESTSELLER Vol 1-95 (Hepp-Computer)(1995).iso / e058 / hyperdoc.hpr < prev    next >
Text File  |  1994-04-05  |  26KB  |  557 lines

  1.  
  2. .SubTopic Entry
  3.                            
  4.  
  5. \B                              HYPERDOC v1.51
  6.  
  7.       HyperDoc is a utility for producing  and  distributing  hypertext 
  8.      documents, alone or with your applications.  Documents can be help
  9.      files,  user manuals,  or  any  other  type of complex information 
  10.      requiring  frequent  intra-document  references.  Hyperlinks allow
  11.      the user to quickly jump from  one  section of the document to any
  12.      other section,  by simply selecting a highlighted topic.  HyperDoc 
  13.      also allows subsections - with a top and a bottom - that behave as 
  14.      separate documents to the user. 
  15.          
  16.       The button bar at the top of the screen is fully  configurable to
  17.      your specific application,  allowing you to  offer hyperlinks that
  18.      are always available regardless of where  the user is in the docu-
  19.      ment.  For  example,  the <Contents> button is provided so you can 
  20.      access that section at any time.
  21.  
  22.                              ~Table of Contents~_Contents~
  23. .EndSubTopic   
  24.  
  25. .SubTopic _Contents
  26. \B Table of Contents
  27.  ─────────────────────────────────────┬─────────────────────────────────────
  28.                                       │
  29.       Overview;                       │
  30.          ~Hypertext~Hypertext~                  │
  31.                                       │              HyperDoc
  32.       Documents;                      │
  33.          ~Planning~Planning~                   │   Using and distributing HyperDoc
  34.          ~Creating~Creating~                   │  with your programs  will make it
  35.          ~Compiling~Compiling~                  │  much  easier  for users to learn 
  36.          ~Distributing~Distributing~               │  how your product works, and will
  37.          ~User Considerations~Usage~        │  substantially enhance your image
  38.          ~Button Bar~ButtonBar~                 │  as a company  that  cares  about
  39.          ~Command Line Options~Switches~       │  quality and ease of use.
  40.          ~Command Summary~CmdSum~            │
  41.                                       │   For  more  information,  choose
  42.       Licensing;                      │   ~Distribution Details~Distributing~.
  43.          ~Registration~Registration~               │
  44.                                       │
  45.                                       │
  46.                                       │
  47.  ─────────────────────────────────────┴─────────────────────────────────────
  48. .EndSubTopic   
  49.  
  50.  
  51. .SubTopic Hypertext
  52. \B Hypertext
  53.  ───────────────────────────────────────────────────────────────────────────
  54.                                                                       
  55.       Hypertext  is  a  technique  that  uses  hyperlinks  to   connect 
  56.      different sections of a document in such  a  way that the user can 
  57.      jump from one section  to  another  without  regard  to the actual 
  58.      location of the text  within  the  document.  Additionally, unlike 
  59.      printed documents, hypertext  allows  one  to  move  from place to 
  60.      place without having to worry about how to  get  back.  Every jump 
  61.      from each section is recorded and can be played back in reverse at 
  62.      any point.
  63.  
  64. .EndSubTopic   
  65.  
  66. .SubTopic Planning
  67. \B Planning Documents
  68.  ───────────────────────────────────────────────────────────────────────────
  69.  
  70.       A good plan will help you to make the most of what  HyperDoc  has 
  71.      to offer. 
  72.  
  73.       Ask yourself the following questions;
  74.  
  75.          ■ Will my document need to be broken up into sections?  If yes, 
  76.            take a look at the section on ~SubTopics~SubTopics~.
  77.  
  78.          ■ How will the button bar be configured?  If an index is in the
  79.            plan, you  might  want  to  allow  users  to  get  at it from 
  80.            anywhere in the document - use the ~Button Bar~ButtonBar~ for this.
  81.  
  82.          ■ How will you or your users invoke HyperDoc?  If  you  will be 
  83.            shelling from another program, consider ~Memory~MemInfo~ limitations,
  84.            ~Command Line~Switches~ parameter settings, etc.
  85.  
  86.       There are of course, many more things to consider.  In  time,  you 
  87.      will become skilled  at  creating documents ideally suited for your
  88.      applications. 
  89. .EndSubTopic   
  90.  
  91. .SubTopic Creating
  92. \B Creating Documents
  93.  ───────────────────────────────────────────────────────────────────────────
  94.  
  95.       Once  you  have  a  good  idea  of  how  your  document  will  be 
  96.      structured,  the  next  step  is to  simply  enter the text of the 
  97.      document.  Except for keeping  each section of text separated,  do 
  98.      not be concerned  with  embedded  codes  until  all  text has been 
  99.      entered.  This  is  suggested  because  the  embedded codes take a 
  100.      certain amount of space on  each  line,  making the text appear as 
  101.      though it is not aligned properly until it is viewed.  The easiest 
  102.      way to add hyperlinks and  other  embedded codes to your document, 
  103.      is to wait until it is  completely finished,  then use your editor 
  104.      to implement a search & replace for the  desired  references.  For 
  105.      example, you may want to replace every occurance (or just selected 
  106. \L     occurances) of "Appendix"  with "~Appendix~Appendix~" to offer the 
  107.      reader of your document instant  access  to  the subtopic Appendix 
  108.      when it is referenced.
  109.     
  110.       Let's look at the  simplest  type  of  document,  just plain ASCII 
  111.      text without any embedded codes;
  112.  
  113.             "This document has no hyperlinks and requires that 
  114.             the user manually  navigate  from line to line and 
  115.             section to section within the text.  If there were 
  116.             several hundred pages worth  of information,  this 
  117.             technique   could   become   quite    frustrating, 
  118.             especially if there  are  many references to other 
  119.             sections - such as an index."
  120.  
  121.       Now, add some embedded codes to make it easier to get around;
  122.  
  123.  
  124.             "This document has hyperlinks  that allow the user 
  125.             to jump from section  to  section within the text. 
  126.             If  there  were  several  hundred  pages  worth of 
  127.             information,  this  technique  could  become quite 
  128.             valuable,  especially if there are many references 
  129.             to other sections - such as an ~index~SampleIndex~."
  130. \B                     ┌─────────────────────┴─────┘
  131. \B                     └─── Embedded code looks like: ~index~SampleIndex~
  132. \B                                                     ├───┘ ├─────────┘│
  133. \B               Text inside button (can be anything) ─┘     │          │
  134. \B                                                           │          │
  135. \B     Hyperlink destination (matches a SubTopic or Label) ──┘          │
  136. \B                                                                      │
  137. \B                                       Delimiter (3rd of 3) ──────────┘
  138.  
  139. .Label SubTopics
  140. \B SubTopics    
  141.                                                                       
  142.       If you plan to break up the  document into two or more individual
  143.      sections,  then  you  need  to  be  aware  of  how to create these 
  144.      divisions between topics.  In HyperDoc,  each  separate section is 
  145.      called a SubTopic. Subtopics have a beginning and an ending. 
  146.  
  147.       To  start  a  subtopic,  place  this embedded command on the line 
  148.      directly above where this section is to begin;
  149.  
  150. \B.SubTopic TitleName 
  151.   │            │
  152.   │            └─── TitleName is any name you wish to give this section
  153.   │                 up to 20 characters (more is allowed,  but only the
  154.   │                 first 20 count). Names are not case sensitive.
  155.   │ 
  156.   └─── Note that command MUST start in column 1.                  
  157.  
  158. \B            "This is the text within this subtopic. It is only 
  159. \B            accessible   by   selecting   a   hyperlink   that 
  160. \B            references the subtopic TitleName."
  161.  
  162.       To end a subtopic,  place the following command on the line below
  163.      the last line of the section;
  164.   
  165.   ┌─── Note that command MUST start in column 1.                  
  166.   │
  167. \B.EndSubTopic 
  168.  
  169. .EndSubTopic   
  170.  
  171. .SubTopic SampleIndex
  172. \B Sample Index
  173. ─────────────────────────────────────────────────────────────────────────────
  174.  
  175.       This might one or more pages of index references  that  the  user 
  176.      can easily look at,  hyperlink to another section or return to the 
  177.      last place they were  at  before  jumping  to  the  index.  Select 
  178.      <BACK> to return.
  179.  
  180.  
  181. .EndSubTopic   
  182.  
  183.  
  184. .SubTopic Distributing
  185. \B Distributing Documents
  186.  ───────────────────────────────────────────────────────────────────────────
  187.     
  188.       When  you  register  HyperDoc,  you  are  allowed  to  distribute 
  189.      unlimited  copies  of  each  document  that  you  compile with the 
  190.      HyperDoc compiler. Also, you may distribute one copy of the viewer 
  191.      HYPERDOC.EXE with each document and without royality.  You may not 
  192.      distribute  the  compiler  program,  HYPERC.EXE  or  transfer your 
  193.      rights granted by the ~License Agreement~Agreement~. 
  194.  
  195.       There are several things you will want to consider if you  intend 
  196.      to distribute your  documents.  Choose  ~User Considerations~Usage~  for 
  197.      more information. Also see ~Registration~Registration~ for details on getting a 
  198.      registered copy of HyperDoc.
  199.  
  200.       Compiled documents consist of the  text  file  <docname.HPR>, the
  201.      pointer  file <docname.PTR>  and  the  index  file  <docname.NDX>. 
  202.      Be sure to include all of these files  if  you  decide to register 
  203.      HyperDoc and distribute documents that you have compiled.
  204.  
  205. .EndSubTopic
  206.  
  207.  
  208. .SubTopic Agreement
  209. \B License Agreement
  210.  ───────────────────────────────────────────────────────────────────────────
  211.     
  212.       Once registered,  you  (LICENSEE),  may  use the HyperDoc runtime
  213.      program (RUNTIME PROGRAM)  and  the  HyperDoc  compiler (COMPILER)
  214.      subject to the following terms:
  215.  
  216.       LICENSEE may compile and distribute any number documents compiled 
  217.      with the  COMPILER.  LICENSEE  may  also  distribute royalty free, 
  218.      one copy of the RUNTIME PROGRAM  along with each copy of documents 
  219.      compiled with COMPILER so the recipient may view the documents.
  220.  
  221.       LICENSEE may install and use the  COMPILER  on  one machine only, 
  222.      and must pay for network use if it is  to  be  used  on a network, 
  223.      regardless of  whether  or  not  other  people  will be  using the 
  224.      program.  LICENSEE agrees to be fully liable to Borgaard & Co. for
  225.      losses due to the intentional or unintentional distribution of the 
  226.      COMPILER  included  with  your  registered  copy  of HyperDoc. The 
  227.      COMPILER and every  document  created  with  it are serialized and 
  228.      traceable to the registered licensee.
  229.  
  230.       LICENSEE MAY NOT compile  documents  for  others  and  allow such 
  231.      documents to be distributed,  with or without the RUNTIME PROGRAM.
  232.      Such activity  would  constitute  a  transference  of this license 
  233.      agreement, which is not allowed by the terms herein.
  234.  
  235.       LICENSEE  may  not  sell,  transfer,  or assign any of the rights 
  236.      granted by this agreement without  the  express written permission 
  237.      of Borgaard & Co., P.O. Box 7843 Bend, OR 97708-7843.
  238.  
  239. .EndSubTopic
  240.  
  241. .SubTopic Registration
  242. \B Hyperdoc Registration
  243.  ───────────────────────────────────────────────────────────────────────────
  244.         
  245.       This UNREGISTERED copy  of  HyperDoc  contains  a  compiler  that 
  246.      places certain limitations on the size of  documents it will allow 
  247.      among other things,  and the runtime program will display the "Not 
  248.      registered"  message  before  allowing  you  to  view  a document. 
  249.      You MAY NOT distribute any document created with this UNREGISTERED 
  250.      compiler.
  251.    
  252.       Registration will allow you to distribute both documents  and the 
  253.      HyperDoc runtime program, royalty free and without any limitations
  254.      on the number of documents you distribute. Use and distribution is
  255.      subject to the terms of the ~License Agreement~Agreement~.
  256.  
  257.       To  receive  a  registered  copy of HyperDoc, send $39 plus $3.50 
  258.      shipping & handling along with the ~Order Form~OrderForm~ payable to:
  259.  
  260. \B                     J Borgaard & Co.
  261. \B                     P.O. Box 7843, Bend OR 97708-7843
  262.  
  263.  
  264. .EndSubTopic
  265.       
  266. .SubTopic OrderForm
  267.  
  268. \B                               ORDER FORM
  269.  
  270.  
  271.       Choose <PRINT> from the button bar to print this order form or 
  272.      include the requested information with your order: 
  273.  
  274.      _______________________________________________________________
  275.      LAST NAME                   FIRST NAME                  INITIAL
  276.       
  277.      _______________________________________________________________
  278.      STREET ADDRESS (NO P.O. BOX DELIVERIES)
  279.      
  280.      _______________________________________________________________
  281.      CITY                     STATE    ZIPCODE     AREA CODE +PHONE
  282.      
  283. \B     The above information is required. Orders will not be processed
  284. \B     without complete information.
  285.  
  286.      HyperDoc single-user copies @ $39 each ............ ___________
  287.  
  288.      HyperDoc multi-user copies @ $59 each ............. ___________
  289.      (Multi-user version suitable for use on most any
  290.      DOS based  network  software -  number  of nodes 
  291.      is not limited)
  292.           
  293.      Shipping & handling @ $3.50 per order plus $1.00 
  294.      each for additional copies ordered. ............... ___________
  295.  
  296.      TOTAL ............................................. ___________
  297.  
  298.  
  299. \B     Make checks payable and send to: 
  300.          
  301. \B         J Borgaard & Co.
  302. \B         P.O. Box 7843, Bend OR 97708-7843
  303.  
  304.  
  305. .EndSubTopic
  306.  
  307.  
  308. .SubTopic Compiling
  309. \B Compiling Documents
  310.  ───────────────────────────────────────────────────────────────────────────
  311.                                                                       
  312.       Documents  are  compiled  with HYPERC.EXE, the HyperDoc compiler.
  313.      This step MUST be performed before a document can be viewable with
  314.      HYPERDOC.EXE.  Compiling  creates the index file <docname.NDX> and
  315.      the line pointer file <docname.PTR>.  Both of these files are used
  316.      to assist the HyperDoc  viewer in locating sections of text within
  317.      a document. 
  318.  
  319.       To compile a finished  document,  type  HYPERC <docname>.  You do
  320.      not need to include the file  extension if your document extension
  321.      is <.HPR>.  If your document has errors,  they will be reported at
  322.      this time.  You  will most likely encounter some errors during the
  323.      initial stages of document preparation.  It's  easy  to misspell a 
  324.      label.  Labels are not case sensitive - "LABELNAME" is the same as 
  325.      "labelname".
  326.  
  327.       Some of the errors you may encounter are;
  328.  
  329.          ■ Expected - .EndSubTopic   before   .SubTopic -    If you use
  330.         subtopics  to  break  up your document, every .SubTopic must be
  331.         followed at some point by a .EndSubTopic command. 
  332.  
  333.          ■ Unresolved references - when  you  reference a label in your
  334.         document,  and the compiler fails to find that label,  you will
  335.         see this error,  combined  with  the  label  that  could not be 
  336.         found.  The viewer program will simply do nothing when the user
  337.         selects a hyperlink to a reference that is unresolved.
  338.         
  339.          ■ Syntax errors -  If you forget to use the correct formatting
  340.         in your hyperlinks,  it will be  detected.  The  correct format
  341.         for a hyperlink reference is;
  342.  
  343. \B          ~Button text~LabelName~
  344.  
  345.          ■ Label name too long -  If  a label exceeds twenty characters 
  346.         in length,  HyperDoc  will  ignore  the extra characters beyond 
  347.         twenty.  This is not really an error,  but more of a warning to 
  348.         you that if you rely  on  two  labels  that are the same except 
  349.         for characters  twenty-one  and  beyond,  HyperDoc  will choose 
  350.         only one of the labels and ignore the other.
  351.  
  352. .EndSubTopic
  353.  
  354.  
  355. .SubTopic ButtonBar
  356. \B Configuring the Button Bar
  357.  ───────────────────────────────────────────────────────────────────────────
  358.  
  359.       To make a subtopic available on the button bar at  the top of the
  360.      screen,  simply  precede  the  subtopic  or  label  name  with the
  361.      underscore  character "_".  To  create  an index for your document
  362.      that is available on the button bar,  the subtopic might look like
  363.      this;
  364.  
  365. \B.SubTopic _Index
  366.  
  367. \B         - A -
  368. \B   ~Alphabet soup recipes~AlphaSoup~
  369. \B   ~Alpha-numerical soup recipes~AlphaNumSoup~
  370.    
  371. \B         - B -
  372. \B      and so on..
  373.  
  374. \B.Label _Appendix A
  375.  
  376. \B      Appendix A text..
  377.  
  378. \B.EndSubTopic
  379.  
  380.       You may have as many items in the button bar  as  will fit in the
  381.      space provided.  If  you  have  more  subtopics and/or labels than 
  382.      will fit in the space provided,  the  additional  topics or labels  
  383.      will  be  ignored,  but  still  can  be  referenced  by  hyperlink 
  384.      references within your document.
  385.  
  386. .EndSubTopic
  387.  
  388.  
  389. .SubTopic Usage
  390. \B Usage Considerations
  391.  ───────────────────────────────────────────────────────────────────────────
  392.     
  393.       When using the HyperDoc viewer,  the  user  may or not be using a
  394.      mouse or trackball device.  If  you  offer  instruction  to  users 
  395.      within your document on how to navigate  (if you think such advice 
  396.      would be needed)  then  this  fact  should  be  kept  in mind when 
  397.      creating the language of your instructions.
  398.  
  399.       Many people use amber,  green  or paper-white monitors instead of
  400.      color - HyperDoc  will  simply  replace  the  green accents with a
  401.      highlight attribute on the non-color monitor.
  402.  
  403.       If you are distributing  your documents along with a program, and
  404.      that  program  invokes the HyperDoc viewer in a shell,  be sure to
  405.      check to see that enough  memory is available to execute HyperDoc.
  406.      HyperDoc requires a minimum of 124K to load. For more information,
  407.      choose ~Memory Requirements~MemInfo~.
  408.  
  409. .EndSubTopic
  410.  
  411. .SubTopic Switches
  412. \B Command Line Switches - HyperDoc View Utility
  413.  ───────────────────────────────────────────────────────────────────────────
  414.                                                                       
  415.       The  HyperDoc  viewer  may  be  invoked  with  several   optional
  416.      parameters.  By default,  HyperDoc  will seek a .HPR file that has 
  417.      the same base name as the HyperDoc  viewer  program.  This  allows 
  418.      you to  rename  HYPERDOC.EXE  to  some other more appropriate name 
  419.      such  as  MANUAL.EXE  or  HELP.EXE,  in  which  case HyperDoc will 
  420.      attempt  to  load  a  file  with  the name MANUAL.HPR or HELP.HPR. 
  421.      This  document  auto- seeking  feature  requires  OS compatibility 
  422.      with DOS 3.0 or greater.
  423.  
  424.       If  the  default  document  file  is  not available, and no other 
  425.      document is specified,  HyperDoc  will terminate with a "File must 
  426.      be specified" error. 
  427.  
  428.       Explanation of command line parameters:
  429.     
  430.          [Parm] - denotes optional parameter 
  431.          <Parm> - denotes required parameter
  432.       
  433.          NOTE: Do not enter brackets - [], <>.
  434.  
  435.     HYPERDOC [<filename>[.HPR]] [/M] [/P:<Dev/File>] [/L:<Label>]
  436.  
  437.          where:
  438.                                                                       
  439.          <filename>  =     Document  file  for  viewing  other than the 
  440.                            default file.  If  no extension is provided, 
  441.                            an extension of .HPR is assumed.  Default is 
  442.                            <ProgName.HPR>  where  ProgName  is the name
  443.                            of  the  HyperDoc  viewer program,  which is
  444.                            HYPERDOC.EXE as shipped. 
  445.  
  446.          /M          =     Tells  HyperDoc  to not use color attributes
  447.                            when   displaying   text.    HyperDoc   will 
  448.                            automatically  detect  the  type  of monitor
  449.                            in  use,  but  there  may  be some instances
  450.                            when you will  want  this  option, so it has 
  451.                            been provided.
  452.  
  453.          /P:         =     Informs  HyperDoc  of  which  device  to use
  454.                            when  the  user  selects < Print>  from  the 
  455.                            button  bar.  The  device  can be a filename 
  456.                            or  port  designation  such  as  LPT1, COM1,
  457.                            or OUTFILE.TXT. Default is LPT1.
  458.  
  459.          /L:         =     Tells  HyperDoc  to  begin  at   some  label 
  460.                            other  than  Entry.  This  feature  is  most
  461.                            useful  for  applications  where  a  program
  462.                            needs  to  provide  context- sensitive help.
  463.  
  464.                            By  shelling  to  HyperDoc with the /L:Label
  465.                            parameter,  the  section  titled  Label will
  466.                            be  the  opening  screen.  Default is Entry.
  467.                            If  the  specified  label  is not found, the 
  468.                            default  label  Entry  is  used. If Entry is
  469.                            not found,   HyperDoc   will  start  at  the 
  470.                            second line in the file.
  471.       
  472.       example:
  473.  
  474. \B         HYPERDOC MYFILE /M /P:LPT2 /L:FuncKeys ── Starts HyperDoc at 
  475. \B                  └──┬─┘ │ └──┬──┘                  FuncKeys SubTopic
  476. \B  View MYFILE.HPR ───┘   │    │
  477. \B                         │    └── Use printer on LPT2.
  478. \B                         │
  479. \B                         └──────── Do not use color.
  480.  
  481. .EndSubTopic
  482.  
  483. .SubTopic MemInfo
  484. \B Memory Requirements - HyperDoc View Utility
  485.  ───────────────────────────────────────────────────────────────────────────
  486.                                                                       
  487.       The HyperDoc  view  utility  requires  a minimum of 130KB RAM for
  488.      loading,  and  more  may  be  required  for  future  releases,  as 
  489.      features  are  added.   Every   effort  is  made  to  keep  memory 
  490.      requirements  as  low  as possible during the on-going development
  491.      effort.
  492.  
  493. .EndSubTopic
  494.  
  495. .SubTopic CmdSum
  496. \B Document Command Summary
  497.  ───────────────────────────────────────────────────────────────────────────
  498.           
  499.       Explanation of embedded document commands:
  500.     
  501.          [Parm] - denotes optional parameter 
  502.          <Parm> - denotes required parameter
  503.       
  504.          NOTE 1: Do not enter brackets - [], <>.                   
  505.          NOTE 2: ALL  commands  preceded  by  a  dot "." or a backslash
  506.                  "\" MUST be placed at the left-most column (column 1). 
  507.  
  508.    .SubTopic <Label>  -  Indicates  the  start  of  a  subsection  that
  509.                          will   be   treated  as  a  seperate  document
  510.                          as  far  as  the  user  will be concerned. The
  511.                          user  will  not  be  able  to scroll up beyond
  512.                          this  line   and   will   need  to  execute  a 
  513.                          hyperlink  to  another section to move outside
  514.                          this boundry.
  515.  
  516.    .EndSubTopic  -       Indicates  the  end  of a subsection that will 
  517.                          be  treated  as  a seperate document as far as 
  518.                          the  user  will  be  concerned.  The user will 
  519.                          not  be  able  to scroll down beyond this line 
  520.                          and will need to  execute  a hyperlink such as
  521.                          <BACK>  or  a  reference to another section to 
  522.                          move outside this boundry.
  523.  
  524.    .Label <Label> -      Establishes  a  point  in  the  document  that
  525.                          may  be  referenced  just  like  a  .SubTopic,
  526.                          except  that  it  presents  no  boundries  and
  527.                          therefore  may  be  scrolled  past   in   both
  528.                          directions. 
  529.  
  530.    \B -                  Causes  HyperDoc  to  display   this  line  in
  531.                          the  bold  attribute.  Bold lines may not have
  532.                          other embedded commands.
  533.  
  534.    \L -                  Causes HyperDoc  to  display this line without
  535.                          regard to any embedded  commands  that  may be 
  536.                          present. The line is displayed as-is.
  537.  
  538. \L   ~Button~Label~ -      Creates  a  delimited  reference   within  the
  539.                          document   that   points   to   another   line 
  540.                          elsewhere. When selected by the user,  whether
  541.                          by using the mouse button  or the [Enter] key, 
  542.                          will cause  HyperDoc  to jump to that location
  543.                          in the document identified as <Label>.
  544.  
  545. \L                         For example,  the command: ~This Button~There~
  546.                          will  display  the  text <This Button>, and if
  547.                          selected, will jump to a point in the document 
  548.                          labeled as;
  549.  
  550.                            .SubTopic There  
  551.                                             or;
  552.                            .Label There
  553. .EndSubTopic
  554.  
  555.  
  556.  
  557.